Skip to main content
Version: Helium

FHERC20

FHERC20

_encBalances

mapping(address => euint32) _encBalances

constructor

constructor(string name, string symbol) public

_allowanceEncrypted

function _allowanceEncrypted(address owner, address spender) public view virtual returns (euint32)

allowanceEncrypted

function allowanceEncrypted(address spender, struct Permission permission) public view virtual returns (bytes)

_Returns the remaining number of tokens that spender will be allowed to spend on behalf of owner through transferFromEncrypted. This is zero by default.

This value changes when approveEncrypted or transferFromEncrypted are called._

approveEncrypted

function approveEncrypted(address spender, struct inEuint32 value) public virtual returns (bool)

_Sets a value amount of tokens as the allowance of spender over the caller's tokens.

Returns a boolean value indicating whether the operation succeeded.

IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729

Emits an ApprovalEncrypted event._

_approve

function _approve(address owner, address spender, euint32 value) internal

_spendAllowance

function _spendAllowance(address owner, address spender, euint32 value) internal virtual returns (euint32)

transferFromEncrypted

function transferFromEncrypted(address from, address to, euint32 value) public virtual returns (euint32)

transferFromEncrypted

function transferFromEncrypted(address from, address to, struct inEuint32 value) public virtual returns (euint32)

_Moves a value amount of tokens from from to to using the allowance mechanism. value is then deducted from the caller's allowance.

Returns a boolean value indicating whether the operation succeeded.

Emits a TransferEncrypted event._

wrap

function wrap(uint32 amount) public

unwrap

function unwrap(uint32 amount) public

_mintEncrypted

function _mintEncrypted(address to, struct inEuint32 encryptedAmount) internal

transferEncrypted

function transferEncrypted(address to, struct inEuint32 encryptedAmount) public returns (euint32)

transferEncrypted

function transferEncrypted(address to, euint32 amount) public returns (euint32)

_transferImpl

function _transferImpl(address from, address to, euint32 amount) internal returns (euint32)

balanceOfEncrypted

function balanceOfEncrypted(address account, struct Permission auth) public view virtual returns (bytes)

Returns the value of tokens owned by account, sealed and encrypted for the caller.